from native cimport dict, list
from rational cimport Rational

cdef class VectorSpace(object):
    cdef readonly list base
    cdef readonly int dimension
    cpdef dict coordinates(self, list combo)

cdef class DifferentialComplex(list):
    cpdef append(self, bd, int ddim, int cdim)
    cpdef compute_homology_ranks(self)

cdef class ChainComplex(object):
    cdef readonly int length
    cdef object differential
    cdef object module
    cpdef DifferentialComplex compute_boundary_operators(self)
    cpdef list compute_homology_ranks(self)
     
